<?xml version="1.0" encoding="UTF-8"?>
<!--
  High Torque Training — Zwift workout
  Last updated: 2026-05-23

  Site:      https://high-torque.jelen.dk/
  Calendar:  https://high-torque.jelen.dk/content/workouts.md
  Rationale: https://high-torque.jelen.dk/content/rationale.md
  LLMs:      https://high-torque.jelen.dk/llms.txt
-->
<workout_file>
    <author>Tom Jelen</author>
    <name>TorqueMax 110%</name>
    <activitySaveName>High Torque: TorqueMax - 6x2.5min 105-110% FTP @ 50-60 rpm</activitySaveName>
    <description>EVOQ.BIKE's TorqueMax session. Six 2.5-minute intervals at 105-110% FTP and 50-60 rpm, 4-minute recovery. EVOQ explicitly warns: 'There is an increased risk of injury with these intervals, so you should start with the lower intensity torque intervals first.' Seated throughout.</description>
    <sportType>bike</sportType>
    <tags />
    <workout>
        <Warmup Duration="900" PowerLow="0.40" PowerHigh="0.75">
            <textevent timeoffset="10" duration="30" message="Source: EVOQ.BIKE TorqueMax. '2-3 minutes at 105-110% of FTP and around 50-60 rpm. Start with six repetitions and work up to eight.'" />
            <textevent timeoffset="75" duration="20" message="All the research behind this program: high-torque.jelen.dk" />
            <textevent timeoffset="120" duration="25" message="EVOQ explicitly warns: 'There is an increased risk of injury with these intervals, so you should start with the lower intensity torque intervals first.'" />
            <textevent timeoffset="270" duration="25" message="Prerequisites: several months of regular torque sessions. Tier 3 consistently comfortable. Knees fine throughout. If not, do a Tier 2 or 3 session instead." />
            <textevent timeoffset="420" duration="25" message="105-110% FTP at 50-60 rpm. The highest above-threshold power at the lowest cadence in the collection. Patellofemoral load is at its maximum." />
            <textevent timeoffset="540" duration="20" message="Henderson: musculoskeletal load is the main limiter in torque work, not cardiovascular. This session tests that limit." />
            <textevent timeoffset="660" duration="25" message="SEATED: More critical here than anywhere else. At this power and cadence, standing shifts the load in ways that increase injury risk further. Stay down. Always." />
            <textevent timeoffset="750" duration="20" message="Six intervals. 2.5 minutes each. 4 minutes recovery. Openers first." />
            <textevent timeoffset="840" duration="20" message="In ERG mode, drop to 50-60 rpm — the trainer adjusts resistance to match 105-110% FTP automatically." />
        </Warmup>

        <SteadyState Duration="30" Power="1.10">
            <textevent timeoffset="0" message="Opener 1. Normal cadence." />
        </SteadyState>
        <SteadyState Duration="120" Power="0.55">
            <textevent timeoffset="0" message="Easy spin. Opener 2 coming." />
            <textevent timeoffset="90" message="Settle to 55rpm. SEATED." />
        </SteadyState>
        <SteadyState Duration="30" Power="1.10">
            <textevent timeoffset="0" message="Opener 2." />
        </SteadyState>
        <SteadyState Duration="120" Power="0.55">
            <textevent timeoffset="60" duration="20" message="First interval in 60 seconds. STAY SEATED. 50-60 rpm. 105-110% FTP. 2.5 minutes." />
        </SteadyState>

        <SteadyState Duration="150" Power="1.10" Cadence="55">
            <textevent timeoffset="0" message="STAY SEATED. 50-60 rpm. 105-110% FTP. GO." />
            <textevent timeoffset="20" message="Hold 50-60 rpm." />
            <textevent timeoffset="75" message="Halfway. First of six." />
            <textevent timeoffset="120" message="30 seconds. Do not stand. Do not spin up." />
            <textevent timeoffset="145" message="5 seconds." />
        </SteadyState>

        <SteadyState Duration="240" Power="0.50">
            <textevent timeoffset="2" message="Recovery. 4 minutes." />
            <textevent timeoffset="60" duration="20" message="Patellofemoral load at 105-110% FTP and 50-60rpm is the highest in the collection." />
            <textevent timeoffset="120" message="Next interval. Settle to 50-60rpm. Seated." />
        </SteadyState>

        <SteadyState Duration="150" Power="1.10" Cadence="55">
            <textevent timeoffset="0" message="STAY SEATED. 50-60 rpm. 105-110% FTP. GO." />
            <textevent timeoffset="20" message="Hold 50-60 rpm." />
            <textevent timeoffset="75" message="Halfway." />
            <textevent timeoffset="120" message="30 seconds. Do not stand. Do not spin up." />
            <textevent timeoffset="145" message="5 seconds." />
        </SteadyState>

        <SteadyState Duration="240" Power="0.50">
            <textevent timeoffset="2" message="Recovery. 4 minutes." />
            <textevent timeoffset="60" message="Knee check. Anything beyond muscle burn?" />
            <textevent timeoffset="120" message="Next interval. 50-60rpm. Seated." />
        </SteadyState>

        <SteadyState Duration="150" Power="1.10" Cadence="55">
            <textevent timeoffset="0" message="STAY SEATED. 50-60 rpm. 105-110% FTP. GO." />
            <textevent timeoffset="20" message="Hold 50-60 rpm." />
            <textevent timeoffset="75" message="Halfway. Three of six done after this." />
            <textevent timeoffset="120" message="30 seconds. Do not stand." />
            <textevent timeoffset="145" message="5 seconds." />
        </SteadyState>

        <SteadyState Duration="240" Power="0.50">
            <textevent timeoffset="2" message="Recovery." />
            <textevent timeoffset="60" message="Halfway through the session. Three down, three to go." />
            <textevent timeoffset="120" message="Next interval. 50-60rpm. Seated." />
        </SteadyState>

        <SteadyState Duration="150" Power="1.10" Cadence="55">
            <textevent timeoffset="0" message="STAY SEATED. 50-60 rpm. 105-110% FTP. GO." />
            <textevent timeoffset="20" message="Hold 50-60 rpm." />
            <textevent timeoffset="75" message="Halfway. Four of six done after this." />
            <textevent timeoffset="120" message="30 seconds. Do not stand." />
            <textevent timeoffset="145" message="5 seconds." />
        </SteadyState>

        <SteadyState Duration="240" Power="0.50">
            <textevent timeoffset="2" message="Recovery." />
            <textevent timeoffset="60" duration="20" message="EVOQ: start with six reps, work up to eight once this is consistently comfortable." />
            <textevent timeoffset="120" message="Next interval. 50-60rpm. Seated." />
        </SteadyState>

        <SteadyState Duration="150" Power="1.10" Cadence="55">
            <textevent timeoffset="0" message="STAY SEATED. 50-60 rpm. 105-110% FTP. GO." />
            <textevent timeoffset="20" message="Hold 50-60 rpm." />
            <textevent timeoffset="75" message="Halfway. Penultimate interval." />
            <textevent timeoffset="120" message="30 seconds. Do not stand." />
            <textevent timeoffset="145" message="5 seconds." />
        </SteadyState>

        <SteadyState Duration="240" Power="0.50">
            <textevent timeoffset="2" message="Recovery." />
            <textevent timeoffset="60" message="Five down, one to go. Knees still fine?" />
            <textevent timeoffset="120" message="Final interval. Everything you have. 50-60rpm. Seated." />
        </SteadyState>

        <SteadyState Duration="150" Power="1.10" Cadence="55">
            <textevent timeoffset="0" message="STAY SEATED. 50-60 rpm. 105-110% FTP. GO. Final interval." />
            <textevent timeoffset="20" message="Hold 50-60 rpm. Last effort." />
            <textevent timeoffset="75" message="Halfway. Almost done." />
            <textevent timeoffset="120" message="30 seconds. Do not stand. Finish it." />
            <textevent timeoffset="145" message="5 seconds." />
        </SteadyState>

        <Cooldown Duration="900" PowerLow="0.50" PowerHigh="0.40">
            <textevent timeoffset="10" message="TorqueMax complete. Six intervals done." />
            <textevent timeoffset="150" duration="25" message="This session represents the top end of what EVOQ prescribes for torque training. Beyond this, the injury risk outweighs the incremental benefit for most cyclists." />
            <textevent timeoffset="360" duration="30" message="Post-session knee check is especially important here. 105-110% FTP at 50-60 rpm produces the highest patellofemoral load in the collection. Any discomfort persisting beyond 24 hours warrants a break from torque work." />
            <textevent timeoffset="600" duration="25" message="The 2024 study found significant improvements in VO2max and maximal power with the low-cadence protocol. The science supports this training. Your knees are the limiting factor to respect." />
            <textevent timeoffset="780" duration="25" message="Neal Henderson on high-torque training: the musculoskeletal demand is the limiting factor, not the cardiovascular system. Respect the joints and you can train this way for years." />
        </Cooldown>
    </workout>
</workout_file>
